/***********************************************************
 
 File name: UIView+SizeToFit.h
 Author:    xuwei
 Description:
 根据label的宽度自适应高度，根据内容的多少，自适应宽度
 
 History:
 2018/02/27: Created
 
 ************************************************************/

#import "UIView+SizeToFit.h"

@implementation UIView (SizeToFit)
/**
 根据label的宽度返回它的高度
 
 @param width label的宽度
 @param text label的内容
 @param fontSize 字体的大小
 @return 返回label的高度
 */
+ (CGFloat)getHeightByWidth:(CGFloat)width text:(NSString *)text font:(float)fontSize {
    
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, 0)];
    label.text = text;
    label.font = [UIFont systemFontOfSize:fontSize];
    label.numberOfLines = 0;
    [label sizeToFit];
    CGFloat height = label.frame.size.height;
    return height;
}

/**
 根据父view返回label的宽度
 
 @param text label的内容
 @param fontSize 字体的大小
 @param view 父view
 @param spareW 左右边距距离父view左右边距的距离
 @return 返回label的宽度
 */
+ (CGFloat)getWidthWithText:(NSString *)text font:(float)fontSize superView:(UIView *)view spareWidth:(float)spareW {
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 1000, 0)];
    label.text = text;
    label.font = [UIFont systemFontOfSize:fontSize];
    [label sizeToFit];
    
    if (label.frame.size.width > view.frame.size.width - spareW) {
        return view.frame.size.width - spareW;
    }
    
    return label.frame.size.width;
}

@end
